package com.cn.serverline.lineicp.workshopPlan.entity;

import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.sql.Timestamp;

/**
 * 周总装批次拆分
 *
 * @author 田江余
 * @since 2024年8月8日
 */
@TableName("PLAN_LINE_ASSEMBLE_BATCH_SPLIT")
@Data
@EqualsAndHashCode
public class LineAssembleBatchSplit extends BaseEntity {

    /**
     * 主键ID
     */
    @ChineseDescription("主键ID")
    @TableId(value = "ID", type = IdType.ASSIGN_ID)
    @JsonSerialize(using= ToStringSerializer.class)
    private Long id;

    /**
     * 周计划详情ID
     */
    @ChineseDescription("周计划详情ID")
    @TableField("PLAN_WEEK_STAGE_DAYS_TASKS_ID")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long planWeekStageDaysTasksId;

    /**
     * 产品构型ID
     */
    @ChineseDescription("产品构型ID")
    @TableField("PROD_CONFIGURATION_ID")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long prodConfigurationId;


    /**
     * 计划批次数量
     */
    @ChineseDescription("计划批次数量")
    @TableField("PLAN_QUANTITY")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long planQuantity;

    /**
     * 物料在库情况
     */
    @ChineseDescription("物料在库情况")
    @TableField("MATERIAL_COMPLETE")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long materialComplete;

    /**
     * 批次数量
     */
    @ChineseDescription("批次数量")
    @TableField("BATCH_QUANTITY")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long batchQuantity;

    /**
     * 小批次号
     */
    @ChineseDescription("小批次号")
    @TableField("SMALL_BATCH_NUMBER")
    private String smallBatchNumber;

    /**
     * 生成状态
     */
    @ChineseDescription("生成状态")
    @TableField("BUILD_STATUS")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long buildStatus;

    /**
     * 乐观锁
     */
    @ChineseDescription("乐观锁")
    @TableField("VERSION")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long version;

    /**
     * 备注
     */
    @ChineseDescription("备注")
    @TableField("REMARK")
    private String remark;
}
